package com.ovidiojf.siesec.escola;

import java.util.List;

import org.hibernate.Criteria;
import org.hibernate.Session;
import org.hibernate.criterion.Restrictions;

public class EscolaDAOHibernate implements EscolaDAO {

	private Session session;
	
	public Session getSession() {
		return session;
	}

	public void setSession(Session session) {
		this.session = session;
	}

	@Override
	public void salvar(Escola escola) {
		this.session.save(escola);
	}

	@Override
	public void excluir(Escola escola) {
		this.session.delete(escola);
	}

	@Override
	public void alterar(Escola escola) {
		this.session.update(escola);
	}

	@SuppressWarnings("unchecked")
	@Override
	public List<Escola> listar() {
		Criteria criteria = this.session.createCriteria(Escola.class);
		return criteria.list();
	}

	@Override
	public Escola pesquisarPorId(String id) {
		Criteria criteria = this.session.createCriteria(Escola.class);
		criteria.add(Restrictions.eq("id", id));
		return (Escola) criteria.uniqueResult();
	}

	@Override
	public Escola pesquisarPorCie(String cie) {
		Criteria criteria = this.session.createCriteria(Escola.class);
		criteria.add(Restrictions.eq("cie", cie));
		return (Escola) criteria.uniqueResult();
	}

}
